// 认证相关的JavaScript功能

// 检查登录状态
function checkLoginStatus() {
    return fetch('http://localhost:9000/checkLogin', {
        method: 'GET',
        credentials: 'include'
    })
    .then(response => response.json())
    .then(data => {
        return data;
    })
    .catch(error => {
        console.error('检查登录状态失败:', error);
        return { success: false, loggedIn: false };
    });
}

// 退出登录
function logout() {
    return fetch('http://localhost:9000/logout', {
        method: 'POST',
        credentials: 'include'
    })
    .then(response => response.json())
    .then(data => {
        if (data.success) {
            // 清除本地存储的用户信息
            localStorage.removeItem('rememberedUsername');
            // 重定向到登录页面
            window.location.href = '/login.html';
        }
        return data;
    })
    .catch(error => {
        console.error('退出登录失败:', error);
        return { success: false };
    });
}

// 保护页面，要求登录
function protectPage() {
    checkLoginStatus().then(data => {
        if (!data.success || !data.loggedIn) {
            // 用户未登录，重定向到登录页面
            window.location.href = '/login.html';
        }
    });
}

// 显示用户信息
function showUserInfo() {
    checkLoginStatus().then(data => {
        if (data.success && data.loggedIn) {
            const usernameEl = document.getElementById('username');
            const logoutBtn = document.getElementById('logoutBtn');
            
            if (usernameEl) {
                usernameEl.textContent = `欢迎，${data.username}`;
                usernameEl.style.display = 'inline';
            }
            
            if (logoutBtn) {
                logoutBtn.style.display = 'inline';
                logoutBtn.addEventListener('click', logout);
            }
        }
    });
}

// 页面加载时自动检查登录状态
document.addEventListener('DOMContentLoaded', function() {
    // 如果页面需要登录保护，调用protectPage()
    if (document.body.hasAttribute('data-require-login')) {
        protectPage();
    }
    
    // 如果页面需要显示用户信息，调用showUserInfo()
    if (document.getElementById('username') || document.getElementById('logoutBtn')) {
        showUserInfo();
    }
}); 